Retransmission schemes are important for communications over unreliable communication links. A communication link can be unreliable if, for example, (a) the link consists of several links connected by forwarding nodes (e.g., routers or gateways) and one of those forwarding nodes is unable to forward data or (b) the link has a varying link quality (e.g., the link is a radio link) that prevents the intended receiver from correctly decoding the transmitted data. The case considered here is the latter. Several means are designed to counteract the radio link quality variations, which includes retransmissions as well as transmitter power control, channel coding, and combinations thereof.
A retransmission scheme adopted by some networks (e.g., High Speed Packet Access (HSPA) and Long Term Evolution (LTE)) is based on an N-channel stop and wait protocol that is implemented in a media access control (MAC) layer. In such a protocol in an LTE environment, the MAC layer transmits N blocks of coded data in N contiguous subframes. By the time of the (N+1)th subframe, the MAC layer in the receiver should have responded whether it was able to detect and decode the first data block or not. The reason for the N parallel processes to handle data is to allow time for the receiver to detect, decode and report positive acknowledgement (ACK) or negative acknowledgement (NACK). The ACK and NACK may be transmitted using a single bit.
If the receiver indicates that it was not able to decode the first data block (e.g., the receiver transmits a NACK to the transmitter), the MAC layer in the transmitter will “retransmit” the data block in the (N+1)th subframe. That is, the MAC layer will transmit in the (N+1)th subframe the data block again as if it were a new data block and/or information to assist the MAC layer in the receiver in decoding the data block (e.g., other coded bits that strengthen the coding of the data block).
The maximally allowed number of retransmissions K is configured by higher protocol layers. If the data block is not correctly decoded after K retransmissions, a NACK is sent to an automatic repeat request (ARQ) process of a radio link control (RLC) layer in the transmitter so that the data block can be retransmitted at the RLC layer, possibly after some re-segmentation (i.e., the size of the data block may be different).
The RLC layer is configured to ensure in-sequence delivery of data blocks to higher layers. This means that if a data block is missing, subsequent correctly received data blocks have to wait until the missing data block has arrived. This delay can be considerable if the number of channels N and the max number of retransmission attempts K are large. Thus, if the data rate and code protection assigned for a transmission badly matches the radio link conditions, then RLC may have to wait a long time before the data block is correctly received (e.g., at least (N*k+1) subframes+RLC processing time).
What is desired are improved retransmission schemes to overcome the above and/or other disadvantages of conventional retransmission schemes.